package baseObjectDecorator;

import java.util.ArrayList;
import java.util.concurrent.CopyOnWriteArrayList;

import assertTools.DecoratorTools;
import baseObject.Brick;
import baseObject.IBall;
import baseObject.IBrick;
import baseObject.IWall;
import baseObject.RectObj;

public abstract class WallDecorator implements IWall{
	public IWall delegate;

	public WallDecorator(IWall delegate){
		this.delegate = delegate;
	}
	
	public void init() {
		this.delegate.init();
		
	}
	
	public void addBrick(IBrick brick) {
		this.delegate.addBrick(brick);
	}

	@Override
	public void hit(IBall b) {
		this.delegate.hit(b);
	}

	@Override
	public CopyOnWriteArrayList<IBrick> getListBrick() {
		return this.delegate.getListBrick();
	}

	@Override
	public CopyOnWriteArrayList<IBrick> getListBrickBreakeable() {
		return this.delegate.getListBrickBreakeable();
	}

	@Override
	public CopyOnWriteArrayList<IBrick> getListBrickHit(IBall b) {
		return this.delegate.getListBrickHit(b);
	}
}
